package com.diaohw.module.metadata.obj.convert;

import com.diaohw.module.metadata.obj.dto.MetaDTO;
import com.diaohw.module.metadata.obj.entity.MetaDO;
import com.diaohw.module.metadata.obj.vo.MetaVO;
import org.mapstruct.InheritConfiguration;
import org.mapstruct.Mapper;
import org.mapstruct.factory.Mappers;

import java.util.List;

/**
 * <p>
 * 元数据信息 类型转换
 * </p>
 *
 * @author D-Hw
 * @since 2025-04-07
 */
@Mapper
public interface MetaConvert {

    MetaConvert INSTANCE = Mappers.getMapper(MetaConvert.class);

    /**
     * dto to entity
     */
    @InheritConfiguration
    MetaDO dtoToEntity(MetaDTO dto);

    /**
     * entity to dto
     */
    @InheritConfiguration
    MetaDTO entityToDto(MetaDO entity);

    /**
     * entity to dto
     */
    @InheritConfiguration
    MetaVO entityToVo(MetaDO entity);

    /**
     * entity to dto
     */
    @InheritConfiguration
    List<MetaVO> entityToVo(List<MetaDO> list);


}

